部署并使用计算巢SaaS Boost

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

本文为您介绍在ECS和ACK中如何部署计算巢SaaS Boost服务,并将已有的计算巢服务添加到SaaS Boost中进行售卖。

计费说明

计算巢SaaS Boost本身不收费,但在部署中需要使用云资源,会产生相关的资源费用。请参见云资源计费规则

前提条件

  • 您已创建GitHub仓库。

  • (可选)您已创建ACK集群,如未创建请参见创建创建ACK专有集群

    说明

    使用ECS部署SaaS Boost时可跳过。

  • 您有已上线的计算巢服务。如未有请参见创建服务上线服务

    重要

    计算巢服务必须为私有部署服务或者全托管服务。

  • 如果您使用的是阿里云RAM用户,需要对授权以下资源的权限。添加RAM权限的详细操作,请参见为RAM用户授权

    需要云资源权限

    权限策略名称

    备注

    AliyunECSFullAccess

    管理云服务器服务(ECS)的权限

    AliyunVPCFullAccess

    管理专有网络(VPC)的权限

    AliyunROSFullAccess

    管理资源编排服务(ROS)的权限

    AliyunCloudMonitorFullAccess

    管理云监控(CMS)的权限

    AliyunOSSFullAccess

    管理对象存储服务(OSS)的权限

    AliyunOOSFullAccess

    管理系统运维管理服务(OOS)的权限

    AliyunFCFullAccess

    管理函数计算(FC)FC服务的权限

    AliyunOTSFullAccess

    管理表格存储服务(OT)的权限

    AliyunComputeNestSupplierFullAccess

    管理计算巢服务(ComputeNest)的商家侧权限

操作步骤

步骤一:准备工作

  1. 获取支付宝沙箱APPID、绑定的商家账号以及相关密钥证书(测试环境支付时使用)。

    重要

    为您的支付宝微信商家账户能够顺利收款,请务必通过支付宝沙箱账号测试能否成功购买SaaS Boost商品。

    1. 登录支付宝沙箱开放平台

      说明

      如果您未注册支付宝沙箱账号,请根据页面提示进行创建。

    2. 在控制台的沙箱应用页面,保存如下参数。

      • APPID

      • 绑定的商家账号(PID)

      image

    3. 开发信息区块下,将接口加签方式勾选为统默认密钥,根据实际情况进行加签。

      image

      • 如果您仅想体验SaaS Boost服务建议您使用公钥模式

      • 如果是服务上线前的测试请您使用证书模式

      警告

      沙箱提供的默认密钥,通过公钥/证书机制,使用RSA2算法加密商户应用与沙箱的交互信息,保障交互安全。若不涉及资金支出类接口调用,建议使用公钥模式进行加签;若涉及资金支出类接口调用,必须使用证书模式进行加签。

      证书模式

      单击证书模式查看按钮。请务必保存以下内容。

      • 应用私钥

      • 应用公钥证书

      • 支付宝公钥证书

      • 支付宝根证书

      image

      公钥模式

      单击公钥模式查看按钮。请务必保存以下内容。

      • 应用私钥

      • 支付宝公钥

      image

  2. 获取支付宝和微信的应用ID、商户ID以及相关密钥、证书(生产环境使用)。

    重要

    支付环境请您根据自身情况设置,在沙盒环境中安全地调试代码、测试支付流程,确保一切正常无误后再切换到正式环境。

    支付宝

    1. 请您登录支付宝开放平台,并将前提条件中准备的计算巢服务应用接入支付宝开放平台,详情请参见支付宝开放平台的技术接入指南

    2. 您的应用接入成功后获取正式环境中的支付宝参数。

      1. 获取应用ID(APPID,请参见获取 APPID

        image

      2. 获取商户ID(PID),请参见获取 PID

      3. 获取密钥证书,请参见查看密钥/证书

        警告
        • 初次注册需要您设置加签方式,请参见设置密钥加签方式设置证书加签方式

        • 若不涉及资金支出类接口调用,建议使用密钥加签方式;若涉及资金支出类接口调用,必须使用证书加签方式

        image

    微信

    1. 请您登录微信支付商户平台,并将前提条件中准备的计算巢服务应用接入微信支付商户平台,请参见接入指引

    2. 微信商户接入成功后,申请和配置微信支付流程所需的所有参数。请参见参数申请配置API key下载并配置商户证书

    3. 获取微信支付参数。

      重要

      当前SaaS Boost支持微信支付api-v3版本,请保证您填写的参数为微信支付api-v3版本正式环境下的参数。

      1. 获取应用ID(AppID)商户ID(mchid)

      2. 获取API v3密钥,请参见API v3密钥介绍文档

      3. 申请商户API证书,请参见私钥和证书

      4. 获取商户API证书序列号商户API私钥证书。

        登录微信支付商户平台API安全 > API证书 > 查看证书

        说明

        商户API证书序列号不是商户API证书中的内容,而是该证书的编号。

步骤二:部署SaaS Boost

1. 创建个人SaaS Boost仓库

Fork SaaS Boost仓库到您的个人仓库,并获取个人仓库地址(HTTPS)。

image

代码目录说明:

.
├── boost.common       # 工具包
├── boost.front        # 前端代码
├── boost.helm         # Helm包代码
├── boost.server       # 服务代码
├── boost.serverless   # 定时任务或serverless部分
├── docs               # 文档

计算巢SaaS Boost作为一个开发工具和框架已经集成了诸多有助于SaaS应用程序快速构建、部署、扩展和售卖的功能,但以下两点可能要求开发者Fork源代码仓库到其个人仓库中。

  • 用户私有参数配置: 在部署SaaS应用时,一些敏感或特定于个人环境的静态配置参数,如网络配置、支付密钥、数据库连接字符串等。由于这些参数通常具有保密性且因开发者环境各异,直接在公共的SaaS Boost源代码中硬编码或存储显然是不合适的,因此SaaS Boost服务会在部署过程中将用户提供的静态配置参数自动配置到开发者的个人仓库中。

  • 定制化需求: 开发者在使用SaaS Boost的过程中,可能遇到特定的业务场景或客户需求(如定制网页等),需要对框架进行个性化调整或扩展。Fork源代码仓库允许开发者在其个人仓库中直接修改或添加代码,以适应这些特殊需求,而不影响原始SaaS Boost项目的通用性。

2. 部署并查看服务实例

根据所需要的部署场景选择相应的服务实例创建流程。

ECS模式

部署参数说明

参数组

参数项

说明

服务实例

服务实例名称

长度不超过64个字符,必须以英文字母开头,可包含数字、英文字母、短划线(-)和下划线(_)

地域

服务实例部署的地域

流水线配置

企业

选择/新建您的企业

GitHub服务连接

连接到GitHub的凭证。可通过账号密码方式创建

GitRepoEndpoint

仓库地址

是否同步执行流水线

是否同步执行流水线

付费类型配置

付费类型

按量付费/包年包月

ECS实例配置

实例类型

部署的ECS实例类型

实例密码

服务器登录密码,长度8-30,必须包含三项(大写字母、小写字母、数字、 ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ 中的特殊符号)

可用区配置

交换机可用区

该实例类型可部署的可用区

网络配置

是否新建VPC

选择是否在当前可用区新建VPC

专有网络VPC实例Id

选择当前可用区下的VPC实例

交换机实例Id

选择当前VPC支持的交换机

  1. 访问计算巢控制台中SaaS Boost一键部署服务并单击正式创建

  2. 选择模板中选择ecs,并选择部署地域 。

  3. 流水线配置中,创建新的企业创建新的链接,并填入创建个人SaaS Boost仓库的仓库地址。

    创建新的企业与服务连接

    1. 创建云效企业,并选择您的角色,单击开始工作

      image

    2. 云效工作台云效产品中,单击流水线

      image

    3. 流水线 Flow页面的左下角单击全局设置

    4. 全局设置单击左侧服务连接管理,单击创建

    5. 在弹框中选择Github并单击下一步

      image

    6. 新建服务连接页面,根据提示填入对应参数并新建服务授权/证书

    7. 登录Github并授权。

      image

    8. 授权成功后会返回新建服务连接页面,单击创建

      image

  4. 选择付费类型和想要部署的ECS实例类型及部署可用区。

    image

  5. 选择或者新建专有网络(VPC)和交换机(vSwitch)。

    说明

    为了减少参数的填写和理解,建议选择新建。

    image

  6. 单击下一步,确认同意服务协议并单击立即创建进入部署阶段。

    image

  7. 服务实例创建好后检查流水线是否执行成功。

    1. 等流水线执行完成,可通过访问流水线访问地址,查看流水线执行进度。

      image

    2. 流水线运行成功。

      image

  8. 部署成功后在服务实例详情页面,单击公网访问地址访问SaaS Boost实例。

    image

    SaaS Boost实例如下图所示。

    image

ACK模式

部署参数说明

参数组

参数项

说明

服务实例

服务实例名称

长度不超过64个字符,必须以英文字母开头,可包含数字、英文字母、短划线(-)和下划线(_)

地域

服务实例部署的地域

ACK集群配置

集群ID

阿里云上购买的ACK集群

POD安全角色应用

用于给POD分配合适的RAM角色,避免越权

镜像配置

服务端镜像

前后端一起打包的镜像。包含boost.server和bootst.front

定时任务镜像

boost.serverless

  1. 配置ACK集群。

    1. 访问容器服务ACK控制台,选择您前提条件准备好的ACK集群。

    2. 在集群的基本信息区块,单击启用RRSA,ACK基于此功能实现Pod的权限隔离。

      image

  2. 在计算巢中部署SaaS Boost。

    1. 访问计算巢控制台中SaaS Boost一键部署服务

    2. 选择模板中选择ACK,并选择部署地域 。

    3. Ack集群配置区块,选择您前提条件准备好的ACK集群,并勾选Pod安全角色身份插件

    4. 镜像配置区块填写镜像URL。

      • 如果想使用官方SaaS Boost镜像,可直接保留默认参数。

      • 如果为自行构建镜像,则推荐使用jib maven构建插件,镜像构建示例脚本如下。

        说明

        镜像分为boost.server即主服务镜像,以及boost.serverless即定时任务镜像。

        mvn compile com.google.cloud.tools:jib-maven-plugin:2.3.0:dockerBuild -Djib.to.image=aliyun-saas-boost-server:$VERSION
  3. 单击下一步,在检查页面系统会为您进行依赖检查,完成后单击立即创建

  4. 返回服务实例列表查看部署进度。

    image

  5. 部署成功后在服务实例详情页面,单击SaaS Boost公网访问地址访问SaaS Boost实例。

    image

    SaaS Boost实例如下图所示。

    image

步骤三:配置服务商个人信息

  1. 登录计算巢控制台,在左侧导航栏中单击服务实例并选择目标服务。

  2. 服务实例详情页面,单击公网访问地址访问SaaS Boost实例。

    image

  1. 在SaaS Boost实例中,单击参数管理,并在服务商个人信息管理区块中单击编辑

    image

  2. 根据提示填写对应参数,并单击保存

    image

  3. 成功后精选服务页效果图。

    image

步骤四:为SaaS Boost创建并绑定商品

  1. 在SaaS Boost上创建商品。

    1. 登录计算巢控制台,在左侧导航栏中单击服务实例并选择目标服务。

    2. 服务实例详情页面,单击公网访问地址访问SaaS Boost实例。

      image

    1. 导航至商品列表页面,单击新增按钮进入新增商品页面。

    2. 输入商品相关信息,主要参数填写说明如下。

      image

      参数

      说明

      商品名

      向用户展示的售卖商品名称。

      计算巢服务ID

      已和计算巢中的服务进行互通,您可以选择想要售卖的商品。

      默认价格

      没有套餐时,使用默认价格支付。单位:元,默认保留后两位小数。

      如您的计算巢服务进行了套餐配置,那么您必须对商品添加相同的套餐。

      单位购买周期

      购买周期单位,示例:年、月、日。

      允许购买的周期

      用户允许购买的周期。

      服务版本

      展示计算巢服务的默认版本(已上线的最新版本)。

    3. 单击提交,完成商品创建。

      image

  2. 为SaaS Boost商品配置套餐。(可选)

    如计算巢服务进行了套餐配置,那么您必须对商品添加相同的套餐。

    1. 选择已创建好的商品,并进入其套餐管理界面。

      image

    2. 套餐名字段中准确输入计算巢中对应套餐的名称。

      重要

      请确保Saas Boost上的套餐名称与计算巢中套餐的名称保持严格一致。

      • 计算巢处套餐配置示例如下所示:

        image

      • SaaS Boost处套餐示例如下所示:

        image

    3. 根据套餐配置设定一个定价,确认信息无误后保存新套餐。

      重要
      • 定价时要考虑对应计算巢服务套餐的具体配置。

      • 定期审核和更新Saas Boost与计算巢之间的套餐对应关系,以保持数据的最新性和准确性。

  3. 在SaaS Boost中将商品上线。

    image

步骤五:配置支付参数并测试

您上线商品后,需要完成支付配置,当用户访问SaaS Boost公网地址在精选服务界面才可对商品进行购买。

1. 配置测试环境支付参数(沙箱环境)

无论您的生产环境是想用支付宝支付还是微信支付,都可以使用支付宝的沙箱环境进行测试。

配置参数
  1. 登录计算巢控制台,在左侧导航栏中单击服务实例并选择目标服务。

  2. 服务实例详情页面,单击公网访问地址访问SaaS Boost实例。

    image

  1. 在SaaS Boost实例中,编辑支付密钥管理

    image

  2. 支付宝区块中,勾选沙盒环境的同时将部署方式选择证书或者密钥,并将获取支付宝沙箱中保存或下载的内容进行配置,最后单击保存

    image

支付宝沙箱支付测试
  1. 登录支付宝沙箱APP

    1. 支付宝沙箱工具中下载支付宝客户端沙箱版安卓APP。

      image

    2. 沙箱应用中的参数配置支付宝参数,详情见配置支付宝(沙箱环境)。

    3. 用沙箱账号中的买家信息登录下载的支付宝沙箱版安卓APP。

      image

  2. 购买软件商品。

    1. 在精选服务界面选择想要购买的软件商品 。

      image

    2. 根据服务要求配置和填写参数,配置完成后单击下一步:确认订单

      image

    3. 确认无误后单击立即创建,页面会自动跳转到订单列表页面,请用支付宝沙箱版安卓APP扫描二维码进行支付。

      image

      说明
      • 沙箱支付是不会真实付款的,仅会模拟交易的过程。

    4. 支付成功后,页面会自动跳转到服务实例页面,请等待服务实例部署完成后,单击服务实例ID查看实例概览。

    5. 如果顺利进入下面的界面,则售卖测试成功。

      重要

      在通过沙箱测试后,务必再次使用正式的支付宝商户账号或微信商户账户进行售卖测试。

      image

2. 配置生产环境支付参数

支付宝
配置参数
  1. 登录计算巢控制台,在左侧导航栏中单击服务实例并选择目标服务。

  2. 服务实例详情页面,单击公网访问地址访问SaaS Boost实例。

    image

  1. 在SaaS Boost实例中,编辑支付密钥管理

    image

  2. 支付宝区块中,勾选正式环境证书或者密钥,并将获取支付宝的应用ID、商户ID以及相关密钥、证书进行配置,然后单击保存

    警告

    若涉及资金支出类接口调用,必须使用证书模式进行加签。

    image

支付宝支付测试
  1. 购买软件商品。

    1. 在精选服务界面选择想要购买的软件商品 。

      image

    2. 根据服务要求配置和填写参数,配置完成后单击下一步:确认订单

      image

    3. 确认无误后单击立即创建,页面会自动跳转到订单列表页面,请用支付宝APP扫码支付。

      说明
      • 由于正式环境支付测试会真实付款,请您在测试时使用0.01元等较小的金额进行测试。

      • 如果此时管理员已经配置好了多种支付方式的支付参数,支付窗口就会提供多种支付方式供用户选择

      image

    4. 支付成功后,页面会自动跳转到服务实例页面,请等待服务实例部署完成后,单击服务实例ID查看实例概览。

    5. 进入下面的界面,则售卖测试成功。

      image

微信
配置参数
  1. 登录计算巢控制台,在左侧导航栏中单击服务实例并选择目标服务。

  2. 服务实例详情页面,单击公网访问地址访问SaaS Boost实例。

    image

  1. 在SaaS Boost实例中,单击支付密钥管理

  2. 微信支付区块中,勾选正式环境证书或者密钥,并将获取微信的应用ID、商户ID以及相关密钥、证书进行配置,然后单击保存

    image

微信支付测试
  1. 购买软件商品。

    1. 在精选服务界面选择想要购买的软件商品 。

      image

    2. 根据服务要求配置和填写参数,配置完成后单击下一步:确认订单

      image

    3. 确认无误后单击立即创建,页面会自动跳转到订单列表页面,请用微信APP扫码支付。

      说明
      • 由于正式环境支付测试会真实付款,请您在测试时使用0.01元等较小的金额进行测试。

      • 如果此时管理员已经配置好了多种支付方式的支付参数,支付窗口就会提供多种支付方式供用户选择

      image

    4. 支付成功后,页面会自动跳转到服务实例页面,请等待服务实例部署完成后,单击服务实例ID查看实例概览。

    5. 如果顺利进入下面的界面,则售卖测试成功。

      image

相关操作

修改或取消SaaS Boost商品绑定配置

当您遇到商品绑定错误或者想更换绑定配置时可采取该方案。

说明

只能是已上线的计算巢服务才能进行修改。

  1. 找到您的计算巢服务,单击修改商品配置

    image

  2. 修改原本的链接和商品码。

    说明

    链接的格式为严格的URL格式,需以/结尾,如果不用指定具体的端口号,可将URL中端口号去掉。如http://xx.xx.xx.com:9999/->http://xx.xx.xx.com/

    image

    如想取消SaaS Boost商品绑定,可单击解除SaaS Boost商品绑定完成解绑。

定时任务

您可以在定时任务中查看超时的订单交易的自动关闭以及处理退款请求的相关信息,帮您更好地管理SaaS Boost服务。

ECS模式

  1. 登录计算巢控制台,在左侧导航栏中单击服务实例并选择目标服务。

  2. 在服务实例概述区块,单击定时任务访问地址,此时会跳转到函数计算控制台

    image

  3. 可通过控制台按钮访问函数计算不同功能,查看执行情况。

    image

ACK模式

如果为ACK部署方式,请访问ACK的Job查看具体执行情况。

image

常见问题

如果您在使用中碰到问题,请参见SaaS Boost常见问题